package com.ys.entity.finance;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TCW_RoleCostApplyItem", catalog="Id")
public class TcwRoleCostApplyItem extends BaseEntity<TcwRoleCostApplyItem> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="Pbid", nameJava="pbid", typeDataBase="varchar")
	private String pbid;
	@YsField(nameDataBase="Vgsbm", nameJava="vgsbm", typeDataBase="varchar")
	private String vgsbm;
	@YsField(nameDataBase="TransactionTypeBid", nameJava="transactionTypeBid", typeDataBase="varchar")
	private String transactionTypeBid;
	@YsField(nameDataBase="RecoverableAmount", nameJava="recoverableAmount", typeDataBase="decimal")
	private BigDecimal recoverableAmount;
	@YsField(nameDataBase="UserBankInfoId", nameJava="userBankInfoId", typeDataBase="bigint")
	private Long userBankInfoId;
	@YsField(nameDataBase="Remark", nameJava="remark", typeDataBase="varchar")
	private String remark;
	@YsField(nameDataBase="AnnexFile", nameJava="annexFile", typeDataBase="varchar")
	private String annexFile;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TcwRoleCostApplyItem setId(Long id) {
		this.id = id;
		return this;
	}
	public String getPbid() {
		return pbid;
	}
	public TcwRoleCostApplyItem setPbid(String pbid) {
		this.pbid = pbid;
		return this;
	}
	public String getVgsbm() {
		return vgsbm;
	}
	public TcwRoleCostApplyItem setVgsbm(String vgsbm) {
		this.vgsbm = vgsbm;
		return this;
	}
	public String getTransactionTypeBid() {
		return transactionTypeBid;
	}
	public TcwRoleCostApplyItem setTransactionTypeBid(String transactionTypeBid) {
		this.transactionTypeBid = transactionTypeBid;
		return this;
	}
	public BigDecimal getRecoverableAmount() {
		return recoverableAmount;
	}
	public TcwRoleCostApplyItem setRecoverableAmount(BigDecimal recoverableAmount) {
		this.recoverableAmount = recoverableAmount;
		return this;
	}
	public Long getUserBankInfoId() {
		return userBankInfoId;
	}
	public TcwRoleCostApplyItem setUserBankInfoId(Long userBankInfoId) {
		this.userBankInfoId = userBankInfoId;
		return this;
	}
	public String getRemark() {
		return remark;
	}
	public TcwRoleCostApplyItem setRemark(String remark) {
		this.remark = remark;
		return this;
	}
	public String getAnnexFile() {
		return annexFile;
	}
	public TcwRoleCostApplyItem setAnnexFile(String annexFile) {
		this.annexFile = annexFile;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TcwRoleCostApplyItem setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TcwRoleCostApplyItem setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TcwRoleCostApplyItem setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TcwRoleCostApplyItem tcwRoleCostApplyItem(
		String pbid,
		String vgsbm,
		String transactionTypeBid,
		BigDecimal recoverableAmount,
		Long userBankInfoId,
		String remark,
		String annexFile,
		Integer status
			) {
		TcwRoleCostApplyItem entity = new TcwRoleCostApplyItem();
		entity.setPbid(pbid);
		entity.setVgsbm(vgsbm);
		entity.setTransactionTypeBid(transactionTypeBid);
		entity.setRecoverableAmount(recoverableAmount);
		entity.setUserBankInfoId(userBankInfoId);
		entity.setRemark(remark);
		entity.setAnnexFile(annexFile);
		entity.setStatus(status);
		return entity;
	}
}